if ((argfile=fopen(*argv+1,"rt"))==0) perror_exit(10,*argv+1);
if ((len=fread(ab_ptr,1,ARGBUF_SIZE-((int) (ab_ptr-arg_buf)),argfile))==ARGBUF_SIZE-(ab_ptr-arg_buf)) error_exit(20,"Argument buffer not big enough\n");
fclose(argfile);
ab_ptr[len++]=0; /* write terminating null */
/* remove comments */
while ((p=strchr(ab_ptr,';'))!=NULL) {
char *p2=strchr(p,'\n');
if (p2) { /* found cr */
strcpy(p,p2); /* copy over comment */
len = strlen(ab_ptr);
}
else { /* no cr, end of string */
*p=0;
len = (int) (p-ab_ptr);
}
}
ab_ptr[len]=0; /* write terminating null */
while (!ab_ptr[len-1]) len--; /* back up over terminating nulls */
p=ab_ptr;
for (arg_count=0;p<ab_ptr+len;) {
while (p<ab_ptr+len && ((c=*p)==' ' || c=='\t' || c=='\n')) p++;
if (p<ab_ptr+len) { /* found parm? */
arg_ptrs[arg_count++]=p;
if (arg_count>=MAX_ARGS) error_exit(10,"Too many args");
while (p<ab_ptr+len && !((c=*p)==' ' || c=='\t' || c=='\n')) p++;